Section: New Results
Static Analysis and Abstract Interpretation
Participants : Alain Girault, Bertrand Jeannet [contact person] , Peter Schrammel.
Translating data-flow languages for hybrid systems simulation to hybrid automata for hybrid systems verification
Hybrid systems are used to model embedded computing systems interacting with their physical environment. There is a conceptual mismatch between high-level hybrid system languages like Simulink (http://www.mathworks.com ), which are used for simulation, and hybrid automata, the most suitable representation for safety verification. Indeed, in simulation languages the interaction between discrete and continuous execution steps is specified using the concept of zero-crossings, whereas hybrid automata exploit the notion of staying conditions.
In the context of the Inria large scale action Synchronics (see § 8.1.1.1 ), we studied how to translate the Zelus hydrid data-flow language [34] developped in this project into logico-numerical hybrid automata by carefully pointing out this issue. We investigated various zero-crossing semantics, proposed a sound translation, and discussed to which extent the original semantics is preserved.
This work is part of the PhD thesis of Peter Schrammel and was presented at the conference HSCC'2012 (Hybrid Systems: Computation and Control) [22] , [27] .
Abstract Acceleration of general linear loops
We investigated abstract acceleration techniques for computing loop invariants for linear loops with linear assignments in their body and guards defined by the conjunction of linear inequalities.
While standard abstract interpretation considers over approximations over the set of reachable states at any loop iteration, and relies on extrapolation (a.k.a. widening) for making the analysis converge, abstract acceleration captures the effect of the loop with a single, non-iterative transfer function applied to the reachable states at the loop head. The concept of abstract acceleration has already been applied to restricted form of linear loops, by us [16] and others [58] , and extended to logico-numerical loops [16] ; the novelty here is to investigate general linear loops.
The main idea we developped is to over-approximate the set of transformation matrices associated to any number of iterations of the loop body and to apply this “accelerated” transformation to the initial states. This over-approximation is based on the Jordan normal form decomposition that allows deriving closed form symbolic expressions for the entries of the matrix modeling the effect of exactly iterations of the loop. We then discover linear relationships between the symbolic expressions that hold for any number of iterations, and we obtain a set of matrices described by a polyhedra on its coefficients, which can be applied to a set of vectors also described by a convex polyhedra.
We also developed a technique to take into account the guard of the loop by bounding the number of loop iterations, which relies again on the Jordan normal form decomposition.
These ideas were implemented and evaluated on a series of simple loops, alone or inside outer loops, exhibiting classical behaviors: polynomial, stable and unstable exponential, inward spirals (damped oscillators), .... Our approach enables proofs that are out of the reach of most other techniques, that are either too unprecise (classical abstract interpretation) or limited to a restricted class of loops, e.g., translation with resets in the case of abstract acceleration, or stable loops (in the sense of control theory) for ellipsoid methods.
This work was initiated during a visit to the University of Colorado-Boulder and is under review.
Logico-Numerical Max-Strategy Iteration
Strategy iteration methods aim at solving fixed point equations and are an alternative to abstract acceleration for fighting against the loss of precision incurred by extrapolation in classical interpretation. It has been shown that they improve precision in static analysis based on abstract interpretation and template abstract domains, e.g., intervals, octagons or template polyhedra. However, they are limited to numerical programs.
We investigated a method for applying max-strategy iteration to logico-numerical programs, that is, programs with numerical and Boolean variables, without explicitly enumerating the Boolean state space. The method is optimal in the sense that it computes the least fixed point w.r.t. the abstract domain.
Our experiments showed that the resulting logico-numerical max-strategy iteration gains one order of magnitude in terms of efficiency in comparison to the purely numerical approach while being almost as precise. Moreover, they are the first experimental results of applying max-strategy iteration to larger programs. This work has been accepted at VMCAI'2013 [23] .